package com.mall.autoconfig;

import com.mall.autoconfig.properties.AipFaceProperties;
import com.mall.autoconfig.properties.HuanXinProperties;
import com.mall.autoconfig.properties.OssProperties;
import com.mall.autoconfig.properties.Smsproperties;
import com.mall.autoconfig.template.AipFaceTemplate;
import com.mall.autoconfig.template.HuanXinTemplate;
import com.mall.autoconfig.template.OssTemplate;
import com.mall.autoconfig.template.SmsTemplate;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;

@EnableConfigurationProperties({//让 Smsproperties 上的ConfigurationProperties 注解生效,并生成由ioc容器管理的bean
        Smsproperties.class,
        OssProperties.class,
        AipFaceProperties.class,
})
public class MallAutoConfiguration {

    // smsTemplate 和 ossTemplate 两种注入Properties的方式都可以
    @Bean
    public SmsTemplate smsTemplate(Smsproperties smsproperties){
        return new SmsTemplate(smsproperties);
    }

    @Bean
    public OssTemplate ossTemplate(){
        return new OssTemplate();
    }

    @Bean
    public AipFaceTemplate aipFaceTemplate(){return new AipFaceTemplate();}



}
